package loja.converters;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import loja.model.produto.categoria.Categoria;
import loja.services.factory.ServiceFactory;
import loja.services.factory.helper.ServiceFactoryHelper;

@FacesConverter(forClass = Categoria.class)
public class CategoriaConverter implements Converter {

	private ServiceFactory serviceFactory = ServiceFactoryHelper
			.getServiceFactory();

	@Override
	public Object getAsObject(FacesContext arg0, UIComponent arg1,
			String stringIdCategoria) {

		if ((stringIdCategoria == null)
				|| (stringIdCategoria.trim().length() == 0))
			return null;
		Integer idCategoria = Integer.valueOf(stringIdCategoria);
		return this.serviceFactory.getCategoriaService().consultarPorId(
				idCategoria);
	}

	@Override
	public String getAsString(FacesContext arg0, UIComponent arg1,
			Object objCategoria) {
		if (objCategoria == null)
			return null;
		Categoria categoria = (Categoria) objCategoria;
		return String.valueOf(categoria.getIdCategoria().intValue());
	}

}
